﻿using System;
using Autodesk.Revit.DB;
using YArchitech.Revit;

namespace YJKRevitDimension.SymbolTextSetting
{
	public class DetailIndexParameter
	{
		public string DownScriptText { get; set; }

		public string UpScriptText { get; set; }

		public string DetailDrawingNum { get; set; }

		public string DrawingNum { get; set; }

		public double LeaderLineLength { get; set; }

		public double BaseLineLength { get; set; }

		public double LeaderLineAngel { get; set; }

		public double IndexCircleRadis { get; set; }

		public int IsShowParaFirst { get; set; }

		public int IsShowParaSecond { get; set; }

		public int IsShowParaThird { get; set; }

		public int IsShowParaFourth { get; set; }

		private AnnotationSymbol m_AnnoSymbol { get; set; }

		public DetailIndexParameter(AnnotationSymbol annoSymbol)
		{
			this.m_AnnoSymbol = annoSymbol;
			this.InitPara();
		}

		private void InitPara()
		{
			Parameter parameter = this.m_AnnoSymbol.GetParameter("详图编号");
			if (parameter != null)
			{
				this.DetailDrawingNum = parameter.AsString();
			}
			Parameter parameter2 = this.m_AnnoSymbol.GetParameter("图纸编号");
			if (parameter2 != null)
			{
				this.DrawingNum = parameter2.AsString();
			}
			Parameter parameter3 = this.m_AnnoSymbol.GetParameter("文字1");
			if (parameter3 != null)
			{
				this.UpScriptText = parameter3.AsString();
			}
			Parameter parameter4 = this.m_AnnoSymbol.GetParameter("文字2");
			if (parameter4 != null)
			{
				this.DownScriptText = parameter4.AsString();
			}
			Parameter parameter5 = this.m_AnnoSymbol.GetParameter("长度");
			if (parameter5 != null)
			{
				this.LeaderLineLength = parameter5.AsDouble();
			}
			Parameter parameter6 = this.m_AnnoSymbol.GetParameter("角度");
			if (parameter6 != null)
			{
				this.LeaderLineAngel = parameter6.AsDouble();
			}
			Parameter parameter7 = this.m_AnnoSymbol.GetParameter("角度");
			if (parameter7 != null)
			{
				this.BaseLineLength = parameter7.AsDouble();
			}
			Parameter parameter8 = this.m_AnnoSymbol.GetParameter("角度");
			if (parameter8 != null)
			{
				this.IndexCircleRadis = parameter8.AsDouble();
			}
			Parameter parameter9 = this.m_AnnoSymbol.GetParameter("参数1");
			if (parameter9 != null)
			{
				this.IsShowParaFirst = parameter9.AsInteger();
			}
			Parameter parameter10 = this.m_AnnoSymbol.GetParameter("参数2");
			if (parameter10 != null)
			{
				this.IsShowParaSecond = parameter10.AsInteger();
			}
			Parameter parameter11 = this.m_AnnoSymbol.GetParameter("参数3");
			if (parameter11 != null)
			{
				this.IsShowParaThird = parameter11.AsInteger();
			}
			Parameter parameter12 = this.m_AnnoSymbol.GetParameter("参数4");
			if (parameter12 != null)
			{
				this.IsShowParaFourth = parameter12.AsInteger();
			}
		}

		public void SetPara(AnnotationSymbol annoSymbol)
		{
			Parameter parameter = annoSymbol.GetParameter("详图编号");
			if (parameter != null)
			{
				parameter.Set(this.DetailDrawingNum);
			}
			Parameter parameter2 = annoSymbol.GetParameter("图纸编号");
			if (parameter2 != null)
			{
				parameter2.Set(this.DrawingNum);
			}
			Parameter parameter3 = annoSymbol.GetParameter("文字1");
			if (parameter3 != null)
			{
				parameter3.Set(this.UpScriptText);
			}
			Parameter parameter4 = annoSymbol.GetParameter("文字2");
			if (parameter4 != null)
			{
				parameter4.Set(this.DownScriptText);
			}
			Parameter parameter5 = annoSymbol.GetParameter("长度");
			if (parameter5 != null)
			{
				parameter5.Set(this.LeaderLineLength);
			}
			Parameter parameter6 = annoSymbol.GetParameter("角度");
			if (parameter6 != null)
			{
				parameter6.Set(this.LeaderLineAngel);
			}
			Parameter parameter7 = annoSymbol.GetParameter("角度");
			if (parameter7 != null)
			{
				parameter7.Set(this.BaseLineLength);
				this.BaseLineLength = parameter7.AsDouble();
			}
			Parameter parameter8 = annoSymbol.GetParameter("角度");
			if (parameter8 != null)
			{
				parameter8.Set(this.IndexCircleRadis);
				this.IndexCircleRadis = parameter8.AsDouble();
			}
			Parameter parameter9 = this.m_AnnoSymbol.GetParameter("参数1");
			if (parameter9 != null)
			{
				parameter9.Set(this.IsShowParaFirst);
			}
			Parameter parameter10 = this.m_AnnoSymbol.GetParameter("参数2");
			if (parameter10 != null)
			{
				parameter10.Set(this.IsShowParaSecond);
			}
			Parameter parameter11 = this.m_AnnoSymbol.GetParameter("参数3");
			if (parameter11 != null)
			{
				parameter11.Set(this.IsShowParaThird);
			}
			Parameter parameter12 = this.m_AnnoSymbol.GetParameter("参数4");
			if (parameter12 != null)
			{
				parameter12.Set(this.IsShowParaFourth);
			}
		}
	}
}
